<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>Irrlicht 3D Engine: irr::scene::IMeshSceneNode Class Reference</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>

</head>
<body>
<div id="top"><!-- do not remove this div! -->


<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  <td id="projectlogo"><img alt="Logo" src="irrlichtlogo.png"/></td>
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">Irrlicht 3D Engine
   
   </div>
   
  </td>
  
  
  
   
   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
</td>
   
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.7.5.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="dynsections.js"></script>
</div>
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
  initNavTree('classirr_1_1scene_1_1_i_mesh_scene_node.html','');
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a>  </div>
  <div class="headertitle">
<div class="title">irr::scene::IMeshSceneNode Class Reference</div>  </div>
</div>
<div class="contents">
<!-- doxytag: class="irr::scene::IMeshSceneNode" --><!-- doxytag: inherits="irr::scene::ISceneNode" -->
<p>A scene node displaying a static mesh.  
 <a href="classirr_1_1scene_1_1_i_mesh_scene_node.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="_i_mesh_scene_node_8h_source.html">IMeshSceneNode.h</a>&gt;</code></p>
<div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-0-trigger" src="closed.png" alt="+"/> Inheritance diagram for irr::scene::IMeshSceneNode:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
 <div class="center">
  <img src="classirr_1_1scene_1_1_i_mesh_scene_node.png" usemap="#irr::scene::IMeshSceneNode_map" alt=""/>
  <map id="irr::scene::IMeshSceneNode_map" name="irr::scene::IMeshSceneNode_map">
<area href="classirr_1_1scene_1_1_i_scene_node.html" title="Scene node interface." alt="irr::scene::ISceneNode" shape="rect" coords="0,112,200,136"/>
<area href="classirr_1_1io_1_1_i_attribute_exchanging_object.html" title="An object which is able to serialize and deserialize its attributes into an attributes object..." alt="irr::io::IAttributeExchangingObject" shape="rect" coords="0,56,200,80"/>
<area href="classirr_1_1_i_reference_counted.html" title="Base class of most objects of the Irrlicht Engine." alt="irr::IReferenceCounted" shape="rect" coords="0,0,200,24"/>
</map>
 </div></div>

<p><a href="classirr_1_1scene_1_1_i_mesh_scene_node-members.html">List of all members.</a></p>
<h2><a name="pub-methods"></a>
Public Member Functions</h2>
<ul>
<li><a class="el" href="classirr_1_1scene_1_1_i_mesh_scene_node.html#a491d6cac4ec270ab01c24e27c88e6ca4">IMeshSceneNode</a> (<a class="el" href="classirr_1_1scene_1_1_i_scene_node.html">ISceneNode</a> *parent, <a class="el" href="classirr_1_1scene_1_1_i_scene_manager.html">ISceneManager</a> *mgr, <a class="el" href="namespaceirr.html#ac66849b7a6ed16e30ebede579f9b47c6">s32</a> id, const <a class="el" href="namespaceirr_1_1core.html#a06f169d08b5c429f5575acb7edbad811">core::vector3df</a> &amp;position=<a class="el" href="namespaceirr_1_1core.html#a06f169d08b5c429f5575acb7edbad811">core::vector3df</a>(0, 0, 0), const <a class="el" href="namespaceirr_1_1core.html#a06f169d08b5c429f5575acb7edbad811">core::vector3df</a> &amp;rotation=<a class="el" href="namespaceirr_1_1core.html#a06f169d08b5c429f5575acb7edbad811">core::vector3df</a>(0, 0, 0), const <a class="el" href="namespaceirr_1_1core.html#a06f169d08b5c429f5575acb7edbad811">core::vector3df</a> &amp;scale=<a class="el" href="namespaceirr_1_1core.html#a06f169d08b5c429f5575acb7edbad811">core::vector3df</a>(1, 1, 1))
<dl class="el"><dd class="mdescRight">Constructor.  <a href="#a491d6cac4ec270ab01c24e27c88e6ca4"></a><br/></dl><li>virtual <a class="el" href="classirr_1_1scene_1_1_i_shadow_volume_scene_node.html">IShadowVolumeSceneNode</a> * <a class="el" href="classirr_1_1scene_1_1_i_mesh_scene_node.html#ad7cd00b302466dea891c7a0b6b28de19">addShadowVolumeSceneNode</a> (const <a class="el" href="classirr_1_1scene_1_1_i_mesh.html">IMesh</a> *shadowMesh=0, <a class="el" href="namespaceirr.html#ac66849b7a6ed16e30ebede579f9b47c6">s32</a> id=-1, bool zfailmethod=true, <a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a> infinity=1000.0f)=0
<dl class="el"><dd class="mdescRight">Creates shadow volume scene node as child of this node.  <a href="#ad7cd00b302466dea891c7a0b6b28de19"></a><br/></dl><li>virtual <a class="el" href="classirr_1_1scene_1_1_i_mesh.html">IMesh</a> * <a class="el" href="classirr_1_1scene_1_1_i_mesh_scene_node.html#afe540de69bc3a058919cd5ce465be634">getMesh</a> (void)=0
<dl class="el"><dd class="mdescRight">Get the currently defined mesh for display.  <a href="#afe540de69bc3a058919cd5ce465be634"></a><br/></dl><li>virtual bool <a class="el" href="classirr_1_1scene_1_1_i_mesh_scene_node.html#a1d7de4331b84480598f636c929418e3d">isReadOnlyMaterials</a> () const =0
<dl class="el"><dd class="mdescRight">Check if the scene node should not copy the materials of the mesh but use them in a read only style.  <a href="#a1d7de4331b84480598f636c929418e3d"></a><br/></dl><li>virtual void <a class="el" href="classirr_1_1scene_1_1_i_mesh_scene_node.html#a8d7e98ddfb990bfc354c9c410a4d788f">setMesh</a> (<a class="el" href="classirr_1_1scene_1_1_i_mesh.html">IMesh</a> *mesh)=0
<dl class="el"><dd class="mdescRight">Sets a new mesh to display.  <a href="#a8d7e98ddfb990bfc354c9c410a4d788f"></a><br/></dl><li>virtual void <a class="el" href="classirr_1_1scene_1_1_i_mesh_scene_node.html#a3bae73b4f7b1a6b265a62ece964c008f">setReadOnlyMaterials</a> (bool readonly)=0
<dl class="el"><dd class="mdescRight">Sets if the scene node should not copy the materials of the mesh but use them in a read only style.  <a href="#a3bae73b4f7b1a6b265a62ece964c008f"></a><br/></dl></ul>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>A scene node displaying a static mesh. </p>

<p>Definition at line <a class="el" href="_i_mesh_scene_node_8h_source.html#l00020">20</a> of file <a class="el" href="_i_mesh_scene_node_8h_source.html">IMeshSceneNode.h</a>.</p>
</div><hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a491d6cac4ec270ab01c24e27c88e6ca4"></a><!-- doxytag: member="irr::scene::IMeshSceneNode::IMeshSceneNode" ref="a491d6cac4ec270ab01c24e27c88e6ca4" args="(ISceneNode *parent, ISceneManager *mgr, s32 id, const core::vector3df &amp;position=core::vector3df(0, 0, 0), const core::vector3df &amp;rotation=core::vector3df(0, 0, 0), const core::vector3df &amp;scale=core::vector3df(1, 1, 1))" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">irr::scene::IMeshSceneNode::IMeshSceneNode </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classirr_1_1scene_1_1_i_scene_node.html">ISceneNode</a> *&#160;</td>
          <td class="paramname"><em>parent</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classirr_1_1scene_1_1_i_scene_manager.html">ISceneManager</a> *&#160;</td>
          <td class="paramname"><em>mgr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceirr.html#ac66849b7a6ed16e30ebede579f9b47c6">s32</a>&#160;</td>
          <td class="paramname"><em>id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="namespaceirr_1_1core.html#a06f169d08b5c429f5575acb7edbad811">core::vector3df</a> &amp;&#160;</td>
          <td class="paramname"><em>position</em> = <code><a class="el" href="namespaceirr_1_1core.html#a06f169d08b5c429f5575acb7edbad811">core::vector3df</a>(0,0,0)</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="namespaceirr_1_1core.html#a06f169d08b5c429f5575acb7edbad811">core::vector3df</a> &amp;&#160;</td>
          <td class="paramname"><em>rotation</em> = <code><a class="el" href="namespaceirr_1_1core.html#a06f169d08b5c429f5575acb7edbad811">core::vector3df</a>(0,0,0)</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="namespaceirr_1_1core.html#a06f169d08b5c429f5575acb7edbad811">core::vector3df</a> &amp;&#160;</td>
          <td class="paramname"><em>scale</em> = <code><a class="el" href="namespaceirr_1_1core.html#a06f169d08b5c429f5575acb7edbad811">core::vector3df</a>(1,1,1)</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Constructor. </p>
<p>Use <a class="el" href="classirr_1_1scene_1_1_i_mesh_scene_node.html#a8d7e98ddfb990bfc354c9c410a4d788f" title="Sets a new mesh to display.">setMesh()</a> to set the mesh to display. </p>

<p>Definition at line <a class="el" href="_i_mesh_scene_node_8h_source.html#l00027">27</a> of file <a class="el" href="_i_mesh_scene_node_8h_source.html">IMeshSceneNode.h</a>.</p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="ad7cd00b302466dea891c7a0b6b28de19"></a><!-- doxytag: member="irr::scene::IMeshSceneNode::addShadowVolumeSceneNode" ref="ad7cd00b302466dea891c7a0b6b28de19" args="(const IMesh *shadowMesh=0, s32 id=&#45;1, bool zfailmethod=true, f32 infinity=1000.0f)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classirr_1_1scene_1_1_i_shadow_volume_scene_node.html">IShadowVolumeSceneNode</a>* irr::scene::IMeshSceneNode::addShadowVolumeSceneNode </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classirr_1_1scene_1_1_i_mesh.html">IMesh</a> *&#160;</td>
          <td class="paramname"><em>shadowMesh</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceirr.html#ac66849b7a6ed16e30ebede579f9b47c6">s32</a>&#160;</td>
          <td class="paramname"><em>id</em> = <code>-1</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>zfailmethod</em> = <code>true</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="namespaceirr.html#a0277be98d67dc26ff93b1a6a1d086b07">f32</a>&#160;</td>
          <td class="paramname"><em>infinity</em> = <code>1000.0f</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Creates shadow volume scene node as child of this node. </p>
<p>The shadow can be rendered using the ZPass or the zfail method. ZPass is a little bit faster because the shadow volume creation is easier, but with this method there occur ugly looking artifacs when the camera is inside the shadow volume. These error do not occur with the ZFail method. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">shadowMesh,:</td><td>Optional custom mesh for shadow volume. </td></tr>
    <tr><td class="paramname">id,:</td><td>Id of the shadow scene node. This id can be used to identify the node later. </td></tr>
    <tr><td class="paramname">zfailmethod,:</td><td>If set to true, the shadow will use the zfail method, if not, zpass is used. </td></tr>
    <tr><td class="paramname">infinity,:</td><td>Value used by the shadow volume algorithm to scale the shadow volume (for zfail shadow volume we support only finite shadows, so camera zfar must be larger than shadow back cap, which is depend on infinity parameter). </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Pointer to the created shadow scene node. This pointer should not be dropped. See <a class="el" href="classirr_1_1_i_reference_counted.html#afb169a857e0d2cdb96b8821cb9bff17a" title="Drops the object. Decrements the reference counter by one.">IReferenceCounted::drop()</a> for more information. </dd></dl>

</div>
</div>
<a class="anchor" id="afe540de69bc3a058919cd5ce465be634"></a><!-- doxytag: member="irr::scene::IMeshSceneNode::getMesh" ref="afe540de69bc3a058919cd5ce465be634" args="(void)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classirr_1_1scene_1_1_i_mesh.html">IMesh</a>* irr::scene::IMeshSceneNode::getMesh </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the currently defined mesh for display. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Pointer to mesh which is displayed by this node. </dd></dl>

</div>
</div>
<a class="anchor" id="a1d7de4331b84480598f636c929418e3d"></a><!-- doxytag: member="irr::scene::IMeshSceneNode::isReadOnlyMaterials" ref="a1d7de4331b84480598f636c929418e3d" args="() const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool irr::scene::IMeshSceneNode::isReadOnlyMaterials </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Check if the scene node should not copy the materials of the mesh but use them in a read only style. </p>
<p>This flag can be set by <a class="el" href="classirr_1_1scene_1_1_i_mesh_scene_node.html#a3bae73b4f7b1a6b265a62ece964c008f" title="Sets if the scene node should not copy the materials of the mesh but use them in a read only style...">setReadOnlyMaterials()</a>. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>Whether the materials are read-only. </dd></dl>

</div>
</div>
<a class="anchor" id="a8d7e98ddfb990bfc354c9c410a4d788f"></a><!-- doxytag: member="irr::scene::IMeshSceneNode::setMesh" ref="a8d7e98ddfb990bfc354c9c410a4d788f" args="(IMesh *mesh)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void irr::scene::IMeshSceneNode::setMesh </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classirr_1_1scene_1_1_i_mesh.html">IMesh</a> *&#160;</td>
          <td class="paramname"><em>mesh</em></td><td>)</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sets a new mesh to display. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">mesh</td><td>Mesh to display. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a3bae73b4f7b1a6b265a62ece964c008f"></a><!-- doxytag: member="irr::scene::IMeshSceneNode::setReadOnlyMaterials" ref="a3bae73b4f7b1a6b265a62ece964c008f" args="(bool readonly)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void irr::scene::IMeshSceneNode::setReadOnlyMaterials </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>readonly</em></td><td>)</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sets if the scene node should not copy the materials of the mesh but use them in a read only style. </p>
<p>In this way it is possible to change the materials of a mesh causing all mesh scene nodes referencing this mesh to change, too. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">readonly</td><td>Flag if the materials shall be read-only. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="_i_mesh_scene_node_8h_source.html">IMeshSceneNode.h</a></li>
</ul>
</div>
</div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="namespaceirr.html">irr</a>      </li>
      <li class="navelem"><a class="el" href="namespaceirr_1_1scene.html">scene</a>      </li>
      <li class="navelem"><a class="el" href="classirr_1_1scene_1_1_i_mesh_scene_node.html">IMeshSceneNode</a>      </li>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Defines</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>


    <li class="footer">
<a href="http://irrlicht.sourceforge.net" target="_blank">Irrlicht 
Engine</a> Documentation &copy; 2003-2012 by Nikolaus Gebhardt. Generated on Tue Jan 19 2016 16:08:53 for Irrlicht 3D Engine by
<a href="http://www.doxygen.org/index.html" target="_blank">Doxygen</a> 1.7.5.1 </li>
   </ul>
 </div>


</body>
</html>
